home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / lfw_6b.lsp < prev    next >
Text File  |  1998-03-15  |  29KB  |  715 lines

  1. ;........  Laufwagen 6 (b)
  2.  
  3.  
  4. (defun C:LF-6V2 ( / P1 P2 P10 P11 P12 P13 L PA PWR PLR PWL PLL
  5.                      E1 E2 E3 E4 BName Wi KK1 KK2)
  6.    (EAITmsg "mb_mld14" "\n\n" "006" "\n")             ;LAUFWAGEN 6 (b)
  7.    (EAITvari)
  8.    (EAITvars)
  9.    (setvar "ORTHOMODE" 0)
  10.    (EAITbpt nil nil (strcat (EAITmg "mb_mld12" "017")(EAITmg "mb_mld10" "015"))) ;  1. Punkt (Return = relativ):
  11.    (setq P1 (getpoint))
  12.    (if (= P1 nil)(setq P1 (EAITrpt)))
  13.    (EAITbpt nil nil (strcat (EAITmg "mb_mld12" "018")(EAITmg "mb_mld10" "015")))       ;2. Punkt (Return = relativ):
  14.    (setq P2 (getpoint P1))
  15.    (if (= P2 nil)(setq P2 (EAITrpt)))
  16.    (setq Wi (angle P2 P1)                                          ;Winkel zwischen Pick-pkt.
  17.          PWR (polar P1 (- Wi (EAITgib 90)) 20)                         ;E-Pkt Wellenklemmprofil rechts
  18.          PLR (polar PWR Wi 0.05)                                   ;E-Pkt Lagereinheit rechts
  19.          PWL (polar P2 (- Wi (EAITgib 90)) 20)                         ;E-Pkt Wellenklemmprofil links
  20.          PLL (polar PWL (+ Wi (EAITgib 180)) 0.05)                     ;E-Pkt Lagereinheit links
  21.          PA  (polar(polar P1 (+ Wi (EAITgib 90))36)(+ Wi (EAITgib 180))-20)
  22.          L   80                                                    ;Laenge des Profils
  23.          )
  24.    (setvar "ORTHOMODE" 0)
  25.    (setvar "OSMODE" 0)
  26.    (command EAITege (strcat EAITpfn "35602v1") PWR "" "" (- (EAITbig Wi) 90)         ;Wellenlklemmprofil
  27.             EAITege (strcat EAITpfn "35632v4") PLR "" "" (- (EAITbig Wi) 90))         ;Lagereinheit zentrisch
  28.    (setq kk1 (entlast))
  29.    (command EAITege (strcat EAITpfn "35602v1") PWL "" "" (+ (EAITbig Wi) 90)          ;Wellenlklemmprofil
  30.             EAITege (strcat EAITpfn "35633v3") PLL "" "" (+ (EAITbig Wi) 90))         ;Lagereinheit exzentrisch 
  31.    (setq kk2 (entlast))          
  32.         
  33.    (if (equal (distance P1 P2) 40 0.0000000001)
  34.     (command EAITege (strcat EAITpfn "26598v2") PA "" ""  (+ (EAITbig Wi)180))
  35.  
  36.     (progn
  37.         (setq P10 (polar (polar P1 Wi 16)(+ Wi (EAITgib 90)) 20)              ;1.Pkt 1.Profillinie, E-pkt Abdeckkappe
  38.                P11 (polar P10 (+ Wi (EAITgib 90)) 16)                           ;1.Pkt 2.Profillinie
  39.                 P12 (polar (polar P2 (+ Wi (EAITgib 180)) 16)(+ Wi (EAITgib 90)) 20) ;2.Pkt 1.Profillinie, E-pkt Abdeckkappe
  40.                 P13 (polar P12 (+ Wi (EAITgib 90)) 16)                           ;2.Pkt 2.Profillinie
  41.                 L (/ (float (fix (+ (* (distance P10 P12) 10.0) 0.5))) 10)                     ;Laenge des Profils
  42.         )
  43.          (command EAITlay EAITlse "EAIT50" "" 
  44.                    EAITlin P10 P12 "")                                       ;1. Profillenie
  45.           (setq E1 (entlast))
  46.           (command EAITlin P12 P13 P11 P10 "")
  47.           (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  48.    
  49.           (setq BName (EAITbnr))   
  50.           (command EAITblo BName P10 E1 E2 E3 E4 ""
  51.                    EAITege BName P10 "" "" ""
  52.                    EAITege (strcat EAITpfn "26598s2") P10 "" "" (+ (EAITbig Wi)90)
  53.                    EAITege (strcat EAITpfn "26598s2") P13 "" ""  (- (EAITbig Wi)90)
  54.           )
  55.  
  56.     );progn
  57.    );if
  58.    (setq L (rtos L 2 1))
  59.    (command EAITbks EAITbel kk1)
  60.    (EAITDBL "0035602")
  61.    (command EAITege (strcat EAITpfn "EAITinfo") '(-1.5 -9) "" "" ""
  62.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  63.    )
  64.    (EAITDBL "0035601")
  65.    (command EAITege (strcat EAITpfn "EAITinfo") '(1.5 1.5) "" "" ""
  66.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  67.    )
  68.    (EAITDBL "0035624")
  69.    (command EAITege (strcat EAITpfn "EAITinfo") '(-32 13) "" "" "" 
  70.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  71.    )
  72.    (EAITDBL "0035632")
  73.    (command EAITege (strcat EAITpfn "EAITinfo") '(6.5 13) "" "" ""
  74.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  75.    )
  76.    (EAITDBL "0036472")
  77.    (command EAITege (strcat EAITpfn "EAITinfo") '(-48 0) "" "" "" 
  78.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L (rtos EAITb1 2 1) EAITnr
  79.    )
  80.    (EAITDBL "0026598")
  81.    (command EAITege (strcat EAITpfn "EAITinfo") '(-48 18) "" "" "" 
  82.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  83.    )
  84.  
  85.    
  86.    (command EAITbks EAITbel kk2)                  
  87.    (EAITDBL "0035633")
  88.    (command EAITege (strcat EAITpfn "EAITinfo") '(-6.5 13) "" "" ""
  89.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  90.    )
  91.  
  92.    (EAITvarz2)
  93.    (princ)
  94. );defun V1
  95.  
  96. (defun C:LF-6S2 (/ BNAME E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 EL
  97.                      L1 P1 P2 P3 P4 P5 W1 WG1 W2 WG2)
  98.    (EAITmsg "mb_mld14" "\n\n" "006" "\n")             ;LAUFWAGEN 6 (b)
  99.    (EAITvari)
  100.    (EAITvars)
  101.    (command EAITbks EAITbwe)
  102.    (setvar "ORTHOMODE" 0)
  103.    (setvar "OSMODE" 0)
  104.    (EAITmsg "mb_mld14" "\n  " "008" ": ")      ;Traeger-Profil:  
  105.    (setq EL (entsel " "))
  106.    (setq P1 (osnap (cadr EL) EAITofnaec))
  107.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "009") " " (EAITmg "mb_mld10" "015"))) ; Punkt auf Profil-Außenlinie (Return = relativ):
  108.    (setq P2 (getpoint))
  109.    (if (= P2 nil)(setq P2 (EAITrpt)))
  110.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "010") " " (EAITmg "mb_mld10" "015"))) ; Bezugspunkt f. Welle u. Klemmprofil auf Nutlinie (Return = relativ):
  111.    (setq P3 (getpoint))
  112.    (if (= P3 nil)(setq P3 (EAITrpt)))
  113.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "011") "\n " (EAITmg "mb_mld14" "012") " " (EAITmg "mb_mld10" "015") " "))
  114.             ;   2. Punkt für Welle u. Klemmprofil auf gleicher Nutlinie (Return = relativ):
  115.    (setq P4 (getpoint P3))
  116.    (if (= P4 nil)(setq P4 (EAITrpt)))
  117.    (setvar "OSMODE" 0)
  118.    (setq L1 (distance P3 P4))
  119.    (EAITDBL "0035601")
  120.    (while (or (< L1 EAITlmin) (> L1 EAITlmax))
  121.           (EAITmsg "mb_mld10" "\n\n" "021" nil)(EAITmsg "mb_mld10" "\n\n" "021" nil)(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld13" " " "003" " ")
  122.                            (princ EAITlmax)(EAITmsg "mb_mld13" nil "006" nil)  ;Ungültige Laenge:  min. 1mm  max. 3000mm
  123.           (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "010") " " (EAITmg "mb_mld10" "015") ": ")) 
  124.                 ; Bezugspunkt f. Welle u. Klemmprofil auf Nutlinie (Return = relativ):
  125.           (setq P3 (getpoint))
  126.           (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "011") "\n " (EAITmg "mb_mld14" "012") " " (EAITmg "mb_mld10" "015") ": "))
  127.                 ;   2. Punkt für Welle u. Klemmprofil auf gleicher Nutlinie (Return = relativ):
  128.        (setq P4 (getpoint P3))
  129.        (setq L1 (distance P3 P4))
  130.    )
  131.    (setq L1 (atof (rtos L1 2 1))
  132.          W1 (angle P3 P4)
  133.          WG1(EAITbig W1)
  134.       P5 (inters P3 P4 P2 (polar P2 (+ W1 (/ Pi 2)) 5)nil)
  135.          W2 (angle P5 P2)
  136.       WG2(EAITbig W2)
  137.       P5 (polar P2 (+ W2 Pi) 20)
  138.    )
  139.    
  140.    (command EAITbks EAITbur P5)
  141.    (command EAITbks EAITbz WG2)
  142.  
  143.    (setq P3 (trans P3 0 1)
  144.          P4 (trans P4 0 1)
  145.    )
  146.  
  147. ;---------------------Einfügen der Lagereinheit
  148.  
  149.    (command EAITege (strcat EAITpfn "35633d1") '(0 0 0) "" "" -90
  150.          EAITege (strcat EAITpfn "26598v2")'(40 40 0) "" "" -90
  151.    )
  152.  
  153. ;---------------------Brechen des Traegerprofils
  154.     (setvar "PICKBOX" 0)
  155.     (if (/= (cdr (assoc 2 (entget (car EL)))) nil) (command EAITurs EL))
  156.     (command EAITzom EAITzomi '(0 0 0) (list 0 (cadr P3))(list 0 (cadr P4)))
  157.     (if (/= (ssget '(4 2)) nil)
  158.          (command EAITbru '(4 2) EAITbre
  159.                           (list 4 (cadr P3))(list 4 (cadr P4))
  160.          )
  161.     )
  162.     (if (/= (ssget '(-4 2)) nil)
  163.          (command EAITbru '(-4 2) EAITbre
  164.                           (list -4 (cadr P3))(list -4 (cadr P4))
  165.          )
  166.     )
  167.     (if (/= (ssget '(20 2)) nil)
  168.          (command EAITbru '(20 2) EAITbre
  169.                           '(20 50) '(20 -50)
  170.          )
  171.     )
  172.     (command EAITzom EAITzov)
  173.  
  174. ;------------------Zeichnen der Welle und des Klemmprofils
  175.  
  176.     (command EAITlay EAITlse "EAIT50" "")
  177.     (if (> (cadr P3) 0)
  178.         (progn
  179.         (command EAITlin '(6 50) (list 6 (cadr P3)) "" )
  180.         (setq E1 (entlast))
  181.         (command EAITlin (list 6 (cadr P3)) (list -6 (cadr P3)) '(-6 50) ""
  182.                  EAITlin '(6 -50) (list 6 (cadr P4)) (list -6 (cadr P4)) '(-6 -50) ""
  183.              EAITlin '(3 50) (list 3 (cadr P3)) "" 
  184.              EAITlin (list -3 (cadr P3)) '(-3 50) ""
  185.              EAITlin '(3 -50) (list 3 (cadr P4)) "" 
  186.              EAITlin (list -3 (cadr P4)) '(-3 -50) ""
  187.         )
  188.         )
  189.         (progn
  190.         (command EAITlin '(6 -50) (list 6 (cadr P3)) "")
  191.         (setq E1 (entlast))
  192.         (command EAITlin (list 6 (cadr P3)) (list -6 (cadr P3)) '(-6 -50) ""
  193.                  EAITlin '(6 50) (list 6 (cadr P4)) (list -6 (cadr P4)) '(-6 50) ""
  194.              EAITlin '(3 -50) (list 3 (cadr P3)) "" 
  195.              EAITlin (list -3 (cadr P3)) '(-3 -50) ""
  196.              EAITlin '(3 50) (list 3 (cadr P4)) "" 
  197.              EAITlin (list -3 (cadr P4)) '(-3 50) ""
  198.         )         
  199.         )
  200.     )
  201.     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4)
  202.           E6 (entnext E5) E7 (entnext E6) E8 (entnext E7) E9 (entnext E8)
  203.           E10 (entnext E9)
  204.     )
  205.     (setq BNAME (EAITbnr))
  206.     (command EAITblo BNAME '(0 0) E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 "")
  207.     (command EAITege BNAME '(0 0) "" "" "")
  208.     
  209. ;---------------------Einfügen der Info-Punkte
  210.        
  211.    (setq L1 (rtos L1 2 1))
  212.    (EAITDBL "0035602")
  213.    (command EAITege (strcat EAITpfn "EAITinfo") '(5 60) "" "" ""
  214.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L1 (rtos EAITb1 2 1) EAITnr
  215.    )
  216.    (EAITDBL "0035601")
  217.    (command EAITege (strcat EAITpfn "EAITinfo") '(1 70) "" "" ""
  218.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L1 (rtos EAITb1 2 1) EAITnr
  219.    )
  220.    (EAITDBL "0035624")
  221.    (command EAITege (strcat EAITpfn "EAITinfo") '(10 45) "" "" ""
  222.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  223.    )
  224.    (EAITDBL "0035632")
  225.    (command EAITege (strcat EAITpfn "EAITinfo") '(10 15) "" "" ""
  226.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  227.    )
  228.    (EAITDBL "0036472")
  229.    (command EAITege (strcat EAITpfn "EAITinfo") '(48 -15) "" "" "" 
  230.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  231.    )
  232.    (EAITDBL "0035633")
  233.    (command EAITege (strcat EAITpfn "EAITinfo") '(10 -15) "" "" ""
  234.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  235.    )
  236.    (EAITDBL "0026598")
  237.    (command EAITege (strcat EAITpfn "EAITinfo") '(48 15) "" "" "" 
  238.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  239.    )
  240.  
  241.  
  242.  
  243.   (EAITvarz2)
  244.   (princ)
  245.  
  246. );defun S2
  247.  
  248.  
  249. (defun C:LF-6D3 ( / P1 P2 P3 P4 P5 P6 P7 P8 
  250.              P31 P32 P33 P41 P42 P43 PLR PLL X31 Y31 X41 Y41
  251.                     L1 L2 L3 L4 LI Li1 W1 W2 WG1 WG2 EL E1 E2 E3 E4)
  252.    (EAITmsg "mb_mld14" "\n\n" "006" "\n")             ;LAUFWAGEN 6 (b)
  253.    (EAITvari)
  254.    (EAITvars)
  255.    (command EAITbks EAITbwe)
  256.    (setvar "ORTHOMODE" 0)
  257.    (setvar "OSMODE" 0)
  258.    (EAITmsg "mb_mld14" "\n  " "013" ": ")      ;Erste Profil-Außenlinie
  259.    (setq EL (entsel " "))
  260.    (setq P1 (osnap (cadr EL) EAITofnaec))
  261.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "014") " " (EAITmg "mb_mld10" "015"))) ; Punkt auf zweiter Profil-Außenlinie (Return = relativ):
  262.    (setq P2 (getpoint P1))
  263.    (if (= P2 nil)(setq P2 (EAITrpt)))
  264.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "010") " " (EAITmg "mb_mld10" "015"))) ; Bezugspunkt f. Welle u. Klemmprofil auf Nutlinie (Return = relativ):
  265.    (setq P3 (getpoint))
  266.    (if (= P3 nil)(setq P3 (EAITrpt)))
  267.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "011") "\n " (EAITmg "mb_mld14" "012") " " (EAITmg "mb_mld10" "015") " "))
  268.             ;   2. Punkt für Welle u. Klemmprofil auf gleicher Nutlinie (Return = relativ):
  269.    (setq P4 (getpoint P3))
  270.    (if (= P4 nil)(setq P4 (EAITrpt)))
  271.    (setvar "OSMODE" 0)
  272.    (setq L1 (distance P3 P4))
  273.    (EAITDBL "0035601")
  274.    (while (or (< L1 EAITlmin) (> L1 EAITlmax))
  275.           (EAITmsg "mb_mld10" "\n\n" "021" nil)(EAITmsg "mb_mld10" "\n\n" "021" nil)(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld13" " " "003" " ")
  276.                            (princ EAITlmax)(EAITmsg "mb_mld13" nil "006" nil)  ;Ungültige Laenge:  min. 1mm  max. 3000mm
  277.           (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "010") " " (EAITmg "mb_mld10" "015") ": ")) 
  278.                 ; Bezugspunkt f. Welle u. Klemmprofil auf Nutlinie (Return = relativ):
  279.           (setq P3 (getpoint))
  280.           (if (= P3 nil)(setq P3 (EAITrpt)))
  281.           (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "011") "\n " (EAITmg "mb_mld14" "012") " " (EAITmg "mb_mld10" "015") ": "))
  282.                 ;   2. Punkt für Welle u. Klemmprofil auf gleicher Nutlinie (Return = relativ):
  283.        (setq P4 (getpoint P3))
  284.           (if (= P4 nil)(setq P4 (EAITrpt)))
  285.        (setq L1 (distance P3 P4))
  286.    )
  287.    (setq L1 (atof (rtos L1 2 1))
  288.          W1 (angle P3 P4)
  289.          WG1(EAITbig W1)
  290.       P5 (inters P1 (polar P1 W1 5) P2 (polar P2 (+ W1 (/ Pi 2)) 5) nil)
  291.       L2 (distance P5 P2)               ;------Profil-Weite
  292.       W2 (angle P5 P2)
  293.       WG2(EAITbig W2)
  294.       P6 (mapcar '/ (mapcar '+ P2 P5) '(2 2 2))
  295.       PLR(list (/ L2 2) 0)
  296.       PLL(list (-(/ L2 2)) 0)
  297.    )
  298.    
  299.    (setq P3 (trans P3 1 0)
  300.          P4 (trans P4 1 0)
  301.    )        
  302.    (command EAITbks EAITbur P6)
  303.    (command EAITbks EAITbz WG2)
  304.  
  305.    (if (equal L2 40.0 0.00000001)
  306.          (setq L4 80)
  307.          (setq P7 (list (+(/ L2 2) 16) 40 0)
  308.             P8 (polar P7 Pi (+ L2 32))
  309.           L4 (atof (rtos (distance P7 P8) 2 1))
  310.         )        
  311.    );if
  312.  
  313.  
  314.  
  315. ;-----------------------------------Einfügen der Lagereinheiten
  316.  
  317.     (command EAITege (strcat EAITpfn "35632s1") PLR "" "" -90         ;Doppellagereinheit zentrisch
  318.              EAITege (strcat EAITpfn "35633s1") PLL "" "" 90        ;Doppellagereinheit exzentrisch
  319.     )
  320.  
  321.  
  322.  
  323. ;--------------Welle + Klemmprofil zeichnen
  324.  
  325.     (command EAITlay EAITlse "EAIT50" "")
  326.     (setq P31 (trans P3 0 1)
  327.              P41 (trans P4 0 1)
  328.           X31 (car P31)
  329.           Y31 (cadr P31)
  330.           X41 (car P41)
  331.           Y41 (cadr P41)        
  332.     )        
  333.     (cond ((AND (> X31 0)(> Y31 0))
  334.         (setq P32(polar P31 0 3.05)
  335.                      P42(polar P41 0 3.05)
  336.                      P33 (list (+(/ L2 2) 3.05) 50)
  337.                      P43 (list (+(/ L2 2) 3.05) -50)
  338.         )
  339.           )
  340.           ((AND (< X31 0)(> Y31 0))
  341.         (setq P32(polar P31 Pi 3.05)
  342.                      P42(polar P41 Pi 3.05)
  343.                      P33 (list (-(+(/ L2 2) 3.05)) 50)
  344.                      P43 (list (-(+(/ L2 2) 3.05)) -50)
  345.         )
  346.           )
  347.  
  348.           ((AND (< X31 0)(< Y31 0))
  349.         (setq P32(polar P31 Pi 3.05)
  350.                      P42(polar P41 Pi 3.05)
  351.                      P33 (list (-(+(/ L2 2) 3.05)) -50)
  352.                      P43 (list (-(+(/ L2 2) 3.05)) 50)
  353.         )
  354.           )
  355.  
  356.           ((AND (> X31 0)(< Y31 0))
  357.         (setq P32(polar P31 0 3.05)
  358.                      P42(polar P41 0 3.05)
  359.                      P33 (list (+(/ L2 2) 3.05) -50)
  360.                      P43 (list (+(/ L2 2) 3.05) 50)
  361.         )
  362.           )
  363.     );cond              
  364.  
  365.     (command EAITlin P31 P32 "")
  366.     (setq E1 (entlast))
  367.     (command EAITlin P32 P42 P41 "")
  368.  
  369.     (if (> X31 0)
  370.         (command EAITlin (polar P31 0 1)(polar P41 0 1) "")
  371.         (command EAITlin (polar P31 Pi 1)(polar P41 Pi 1) "")
  372.     );if
  373.  
  374.     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3))
  375.     (command EAITspi E1 E2 E3 E4 "" '(0 0 0) '(0 10 0) EAITspn)
  376.  
  377. ;------------Einfügen der Infopunkte
  378.  
  379.    (setq L1 (rtos L1 2 1)
  380.          L4 (rtos L4 2 1)
  381.    )
  382.    (EAITDBL "0035602") ;Wellenklemmprofil 6
  383.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 1) 70) "" "" ""
  384.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L1 (rtos EAITb1 2 1) EAITnr
  385.    )
  386.    (EAITDBL "0035601")  ;Welle 6
  387.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 3) 60) "" "" ""
  388.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L1 (rtos EAITb1 2 1) EAITnr
  389.    )
  390.    (EAITDBL "0035624")  ; Abstreif
  391.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 15) 48) "" "" ""
  392.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  393.    )
  394.    (EAITDBL "0035632")  ; Doppellagereinheit 6z
  395.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 15) 15) "" "" ""
  396.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  397.    )
  398.    (EAITDBL "0036472")  ; Profil 80x16
  399.    (command EAITege (strcat EAITpfn "EAITinfo") '(15 15) "" "" "" 
  400.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L4 (rtos EAITb1 2 1) EAITnr
  401.    )
  402.    (EAITDBL "0035633")  ; Doppellagereinheit 6e
  403.    (command EAITege (strcat EAITpfn "EAITinfo") (list (-(+(/ L2 2) 15)) 15) "" "" ""
  404.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  405.    )
  406.  
  407.     (if (equal L2 40.0 0.0000001)
  408.                (progn
  409.                        (EAITDBL "0026598") ; Abdeckkappe 80x16
  410.                 (command EAITege (strcat EAITpfn "EAITinfo") '(15 42) "" "" "" 
  411.                                         EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  412.                 )                   
  413.                )
  414.                (progn
  415.                        (EAITDBL "0026598") ; Abdeckkappe 80x16
  416.                 (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 18) 20) "" "" "" 
  417.                                         EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  418.                        )
  419.         )           
  420.     )
  421.  
  422.     (EAITvarz2)
  423.  (setq L1 nil L2 nil L3 nil L4 nil LI nil Li1 nil W1 nil W2 nil WG1 nil 
  424.        WG2 nil EL nil E1 nil E2 nil E3 nil E4 nil)
  425.     
  426.     (princ)
  427. );defun D3
  428.  
  429.  
  430.  
  431. (defun C:LF-6D4 ( / P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
  432.                PP1 PP2 PP3 PP4 PP5 PP6 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8
  433.                P31 P32 P33 P41 P42 P43 X31 Y31 X41 Y41
  434.                       L1 L2 L3 L4 LI Li1 W1 W2 WG1 WG2 EL E1 E2 E3 E4 E5 E6)
  435.    (EAITmsg "mb_mld14" "\n\n" "006" "\n")             ;LAUFWAGEN 6 (b)
  436.    (EAITvari)
  437.    (EAITvars)
  438.    (setvar "ORTHOMODE" 0)
  439.    (setvar "OSMODE" 0)
  440.    (EAITmsg "mb_mld14" "\n  " "013" ": ")      ;Erste Profil-Außenlinie
  441.    (setq EL (entsel " "))
  442.    (setq P1 (osnap (cadr EL) EAITofnaec))
  443.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "014") " " (EAITmg "mb_mld10" "015"))) ; Punkt auf zweiter Profil-Außenlinie (Return = relativ):
  444.    (setq P2 (getpoint P1))
  445.    (if (= P2 nil)(setq P2 (EAITrpt)))
  446.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "010") " " (EAITmg "mb_mld10" "015"))) ; Bezugspunkt f. Welle u. Klemmprofil auf Nutlinie (Return = relativ):
  447.    (setq P3 (getpoint))
  448.    (if (= P3 nil)(setq P3 (EAITrpt)))
  449.    (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "011") "\n " (EAITmg "mb_mld14" "012") " " (EAITmg "mb_mld10" "015") " "))
  450.             ;   2. Punkt für Welle u. Klemmprofil auf gleicher Nutlinie (Return = relativ):
  451.    (setq P4 (getpoint P3))
  452.    (if (= P4 nil)(setq P4 (EAITrpt)))
  453.    (setvar "OSMODE" 0)
  454.    (setq L1 (distance P3 P4))
  455.    (EAITDBL "0035601")
  456.    (while (or (< L1 EAITlmin) (> L1 EAITlmax))
  457.           (EAITmsg "mb_mld10" "\n\n" "021" nil)(EAITmsg "mb_mld10" "\n\n" "021" nil)(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld13" " " "003" " ")
  458.                            (princ EAITlmax)(EAITmsg "mb_mld13" nil "006" nil)  ;Ungültige Laenge:  min. 1mm  max. 3000mm
  459.           (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "010") " " (EAITmg "mb_mld10" "015") ": ")) 
  460.                 ; Bezugspunkt f. Welle u. Klemmprofil auf Nutlinie (Return = relativ):
  461.           (setq P3 (getpoint))
  462.           (if (= P3 nil)(setq P3 (EAITrpt)))
  463.           (EAITbpt nil nil (strcat "\n " (EAITmg "mb_mld14" "011") "\n " (EAITmg "mb_mld14" "012") " " (EAITmg "mb_mld10" "015") ": "))
  464.                 ;   2. Punkt für Welle u. Klemmprofil auf gleicher Nutlinie (Return = relativ):
  465.        (setq P4 (getpoint P3))
  466.           (if (= P4 nil)(setq P4 (EAITrpt)))
  467.        (setq L1 (distance P3 P4))
  468.    )
  469.    (setq L1 (atof (rtos L1 2 1))
  470.          W1 (angle P3 P4)
  471.          WG1(EAITbig W1)
  472.       P5 (inters P1 (polar P1 W1 5) P2 (polar P2 (+ W1 (/ Pi 2)) 5)nil)
  473.       L2 (distance P5 P2)               ;------Profil-Weite
  474.       W2 (angle P5 P2)
  475.       WG2(EAITbig W2)
  476.       P6 (mapcar '/ (mapcar '+ P2 P5) '(2 2 2))
  477.    )
  478.    (if (equal L2 40.0 0.00000001)
  479.          (setq P7 (list (+(/ L2 2) 20) 40 0)
  480.             P8 (polar P7 Pi (+ L2 40))
  481.         L4 80
  482.         )        
  483.          (setq P7 (list (+(/ L2 2) 16) 40 0)
  484.             P8 (polar P7 Pi (+ L2 32))
  485.           L4 (atof (rtos (distance P7 P8) 2 1))
  486.         )        
  487.    );if
  488.    
  489.    (setq P9 (mapcar '* P7 '(-1 -1 -1))
  490.       P10(mapcar '* P8 '(-1 -1 -1))
  491.    )
  492.    
  493.    (setq P3 (trans P3 1 0)
  494.          P4 (trans P4 1 0)
  495.    )        
  496.    (command EAITbks EAITbur P6)
  497.    (command EAITbks EAITbz WG2)
  498.    (command EAITlay EAITlse "EAIT50" "")
  499.    (command EAITlin P7 P8 P9 P10 P7 "") 
  500.  
  501. ;-----------------------------------Einfuegen der Abdeckkappen 80x16
  502.    
  503.    (if (equal L2 40.0 0.00000001)
  504.          (progn
  505.               (command EAITege (strcat EAITpfn "26598s1") P8 "" "" 0)
  506.              (command EAITege (strcat EAITpfn "26598s1") P10 "" "" 180)
  507.         );progn
  508.         (progn
  509.              (command EAITege (strcat EAITpfn "26598s1") P7 "" "" -90)
  510.              (command EAITege (strcat EAITpfn "26598s1") P9 "" "" 90)        
  511.         );progn    
  512.    );if
  513.    
  514. ;-----------------------------------Einzeichnen der Abstreifsysteme
  515.  
  516.     (setq PP1 (polar (polar '(0 0 0) 0 (+(/ L2 2) 20)) (EAITgib 90) 40)
  517.          PP2 (polar PP1 (EAITgib 90) 6)
  518.          PP3 (polar (polar PP2 (EAITgib 90) 4) (EAITgib 180) 4)
  519.          PP4 (polar PP3 (EAITgib 180) 24)
  520.          PP5 (polar (polar PP4 (EAITgib 270) 4) (EAITgib 180) 4)
  521.          PM1 (list (+(/ L2 2) 10) 15 0)
  522.          PM2 (list (+(/ L2 2) 10) 35 0)
  523.          PM3 (list (+(/ L2 2)  0) 25 0)
  524.          PM4 (list (+(/ L2 2) 20) 25 0)
  525.          PM5 (list (+(/ L2 2) 10) -15 0)
  526.          PM6 (list (+(/ L2 2) 10) -35 0)
  527.          PM7 (list (+(/ L2 2)  0) -25 0)
  528.          PM8 (list (+(/ L2 2) 20) -25 0)
  529.     )     
  530.     (if (equal L2 40.0 0.00000001)
  531.         (setq PP6 (polar PP5 (EAITgib 270) 2))
  532.         (setq PP6 (polar PP5 (EAITgib 270) 6))
  533.     )     
  534.     (command EAITplin PP1 PP2 EAITpkr EAITpra 4 PP3 EAITpli PP4 EAITpkr EAITpra 4 PP5 EAITpli PP6 "")
  535.     (setq E1 (entlast))
  536.     (command EAITlay EAITlse "EAITstpg" "")
  537.     (command EAITlin PM1 PM2 ""
  538.              EAITlin PM3 PM4 "")
  539.     (command EAITspi E1 "" '(0 0 0) '(10 0 0) EAITspn)
  540.     (setq E2 (entlast))
  541.     (command EAITspi E1 E2 "" '(0 0 0) '(0 10 0) EAITspn)
  542.     (command EAITlay EAITlse "EAITstpg" "")
  543.  
  544.     (command EAITlin PM1 PM2 "")
  545.     (setq E1 (entlast))            
  546.     (command EAITlin PM3 PM4 "")
  547.     (setq E2 (entnext E1))
  548.     (command EAITlin PM5 PM6 "")
  549.     (setq E3 (entnext E2))            
  550.     (command EAITlin PM7 PM8 "")
  551.     (setq E4 (entnext E3))
  552.     (command EAITspi E1 E2 E3 E4 "" '(0 0 0) '(0 10 0) EAITspn)
  553.     (command EAITlin (polar PM1 0 0.5)(polar PM2 0 0.5) ""
  554.               EAITlin  (polar PM5 0 0.5)(polar PM6 0 0.5) "")
  555.  
  556.  
  557. ;-------------Altes Profil brechen
  558.  
  559.     (setvar "PICKBOX" 0)
  560.     (if (/= (cdr (assoc 2 (entget (car EL)))) nil) (command EAITurs EL))
  561.     (command EAITzom EAITzomi '(0 0 0) '(0 100 0) '(0 -100 0))
  562.     (if (/= (ssget (list (/ L2 2) 2)) nil)
  563.          (command EAITbru (list (/ L2 2) 2) EAITbre
  564.                           (list (/ L2 2) 50)(list (/ L2 2) -50)
  565.          )
  566.     )
  567.     (if (/= (ssget (list (-(/ L2 2)) 2)) nil)
  568.          (command EAITbru (list (-(/ L2 2)) 2) EAITbre
  569.                           (list (-(/ L2 2)) 50)(list (-(/ L2 2)) -50)
  570.          )
  571.     )
  572.  
  573.  
  574.     (cond ((equal L2 40.0 0.00000001)
  575.             (setq LI '(4 -4)
  576.                   L3 44)
  577.          )
  578.          ((equal L2 80.0 0.00000001)
  579.             (setq LI '(16 -16 24 -24)
  580.                   L3 40)
  581.          )
  582.          ((equal L2 160.0 0.00000001)
  583.             (setq LI '(16 -16 24 -24 44 -44 64 -64)
  584.                   L3 40)
  585.          )
  586.          (T (setq LI '(4 4) L3 44))
  587.     );cond         
  588.          
  589.     (foreach Li1 LI
  590.         (if (/= (ssget (list Li1 2)) nil)
  591.              (command EAITbru (list Li1 2) EAITbre
  592.                               (list Li1 L3) (list Li1 (- L3))
  593.                  )
  594.         )
  595.     );foreach
  596.     (command EAITzom EAITzov)
  597.  
  598. ;--------------Welle + Klemmprofil zeichnen
  599.  
  600.     (command EAITlay EAITlse "EAIT50" "")
  601.     (setq P31 (trans P3 0 1)
  602.              P41 (trans P4 0 1)
  603.           X31 (car P31)
  604.           Y31 (cadr P31)
  605.           X41 (car P41)
  606.           Y41 (cadr P41)        
  607.     )        
  608.     (cond ((AND (> X31 0)(> Y31 0))
  609.         (setq P32(polar P31 0 3.05)
  610.                      P42(polar P41 0 3.05)
  611.                      P33 (list (+(/ L2 2) 3.05) 50)
  612.                      P43 (list (+(/ L2 2) 3.05) -50)
  613.         )
  614.           )
  615.           ((AND (< X31 0)(> Y31 0))
  616.         (setq P32(polar P31 Pi 3.05)
  617.                      P42(polar P41 Pi 3.05)
  618.                      P33 (list (-(+(/ L2 2) 3.05)) 50)
  619.                      P43 (list (-(+(/ L2 2) 3.05)) -50)
  620.         )
  621.           )
  622.  
  623.           ((AND (< X31 0)(< Y31 0))
  624.         (setq P32(polar P31 Pi 3.05)
  625.                      P42(polar P41 Pi 3.05)
  626.                      P33 (list (-(+(/ L2 2) 3.05)) -50)
  627.                      P43 (list (-(+(/ L2 2) 3.05)) 50)
  628.         )
  629.           )
  630.  
  631.           ((AND (> X31 0)(< Y31 0))
  632.         (setq P32(polar P31 0 3.05)
  633.                      P42(polar P41 0 3.05)
  634.                      P33 (list (+(/ L2 2) 3.05) -50)
  635.                      P43 (list (+(/ L2 2) 3.05) 50)
  636.         )
  637.           )
  638.     );cond              
  639.  
  640.     (command EAITlin P31 P32 "")
  641.     (setq E1 (entlast))
  642.     (command EAITlin P32 P33 ""
  643.              EAITlin P41 P42 P43 "")
  644.  
  645.     (if (> X31 0)
  646.         (command EAITlin (polar P31 0 1)(polar P33 Pi 2.05) ""
  647.                  EAITlin (polar P41 0 1)(polar P43 Pi 2.05) ""
  648.         )
  649.         (command EAITlin (polar P31 Pi 1)(polar P33 0 2.05) ""
  650.                  EAITlin (polar P41 Pi 1)(polar P43 0 2.05) ""
  651.         )
  652.     );if
  653.  
  654.     (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3) E5 (entnext E4) 
  655.           E6 (entnext E5) 
  656.     )         
  657.     (command EAITspi E1 E2 E3 E4 E5 E6 "" '(0 0 0) '(0 10 0) EAITspn)
  658.  
  659. ;------------Einfügen der Infopunkte
  660.  
  661.    (setq L1 (rtos L1 2 1)
  662.          L4 (rtos L4 2 1)
  663.    )
  664.  
  665.    (EAITDBL "0035602") ;Wellenklemmprofil 6
  666.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 1) 70) "" "" ""
  667.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L1 (rtos EAITb1 2 1) EAITnr
  668.    )
  669.    (EAITDBL "0035601")  ;Welle 6
  670.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 3) 60) "" "" ""
  671.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L1 (rtos EAITb1 2 1) EAITnr
  672.    )
  673.    (EAITDBL "0035624")  ; Abstreif
  674.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 15) 48) "" "" ""
  675.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  676.    )
  677.    (EAITDBL "0035632")  ; Doppellagereinheit 6z
  678.    (command EAITege (strcat EAITpfn "EAITinfo") (list (-(+(/ L2 2) 5)) 25) "" "" ""
  679.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  680.    )
  681.    (EAITDBL "0036472")  ; Profil 80x16
  682.    (command EAITege (strcat EAITpfn "EAITinfo") '(15 15) "" "" "" 
  683.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 L4 (rtos EAITb1 2 1) EAITnr
  684.    )
  685.    (EAITDBL "0035633")  ; Doppellagereinheit 6e
  686.    (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 5) 25) "" "" ""
  687.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  688.    )
  689.  
  690.     (if (equal L2 40.0 0.0000001)
  691.                (progn
  692.                        (EAITDBL "0026598") ; Abdeckkappe 80x16
  693.                 (command EAITege (strcat EAITpfn "EAITinfo") '(15 42) "" "" "" 
  694.                                         EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  695.                 )                   
  696.                )
  697.                (progn
  698.                        (EAITDBL "0026598") ; Abdeckkappe 80x16
  699.                 (command EAITege (strcat EAITpfn "EAITinfo") (list (+(/ L2 2) 18) 20) "" "" "" 
  700.                                         EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  701.                 )
  702.         )           
  703.     )
  704.  
  705.     (EAITvarz2)
  706.     (setq P31 nil P32 nil P33 nil P41 nil P42 nil P43 nil X31 nil Y31 nil
  707.        L1 nil L2 nil L3 nil L4 nil LI nil Li1 nil W1 nil W2 nil WG1 nil 
  708.        WG2 nil EL nil E1 nil E2 nil E3 nil E4 nil E5 nil E6 nil)
  709.     
  710.     (princ)
  711. );defun D4
  712.  
  713. (princ)
  714.  
  715.